# -*- coding: utf8 -*-
#Programa: multiplataforma.py
#Autor: Iván Viguera Cáceres
#Fecha: 07/11/2010
#Descripción:
##  

#---Imports---
import time
#import locale

#---Funciones---

#---Clases----

#---Main---
meses = dict({'Janury':'de Gener',
              'Feabrury':'de Febrer',
              'March':'de Març',
              'April':'d\'Abril',
              'May':'de Maig',
              'June':'de Juny',
              'July':'de Juliol',
              'August':'d\'Agost',
              'September':'de Septembre',
              'October':'d\'Octubre',
              'November':'de Novembre',
              'December':'de Desembre'    
    })
dSemana = dict({'Monday':'Dilluns',
               'Tuesday':'Dimarts',
               'Wednesday':'Dimecres',
               'Thursday':'Dijous',
               'Friday':'Divendres',
               'Saturday':'Dissabre',
               'Sunday':'Diumenge'
    })


while True:
    ##Envia la fecha actual a una lista.
    lDatos = time.strftime('%H:%M:%S:%A:%d:%B:%Y').split(':')

    ##Elimina el 0 de la izquierda.
    for i in range(0,len(lDatos)):
        lDatos[i]=lDatos[i].lstrip('0')

    ##Tratamiento del singular/plural de horas.
    ##Caso singular: 1.
    ##Caso plural: el resto.
    if lDatos[0] <> '1':
        lDatos[0] = 'les '+ lDatos[0]
    else:
        lDatos[0] = 'la ' + lDatos[0]
        
    ##Tratamiento del singular/plural de minutos.
    ##Caso singular: 1.
    ##Caso plural: el resto.
    if lDatos[1] <> '1':
        lDatos[1] = lDatos[1] + ' minuts'
    else:
        lDatos[1] = lDatos[1] + ' minut'
        
    ##Tratamiento del singular/plural de segundos.
    ##Caso singular: 1.
    ##Caso plural: el resto.
    if lDatos[2] <> '1':
        lDatos[2] = lDatos[2] + ' segons'
    else:
        lDatos[2] = lDatos[2] + ' segon'

    ##Traducción de nombres al catalán:
    lDatos[3] = dSemana[lDatos[3]]
    lDatos[5] = meses[lDatos[5]]

    ##Cálculo de los dias que faltan.
    aux = "31 Dec %s 23 59 59" % (lDatos[6])
    ultimoDia = time.mktime(time.strptime(aux, "%d %b %Y %H %M %S"))
    dias =int((ultimoDia - time.time())/60/60/24)
    
    ##Creación de la frase.
    dRestantes = 'Bon cap d\'any!'
    if dias>=300:
        dRestantes = 'Portem %s dies d\'aquest any.' % (dias)
    elif 300>dias>=100:
        dRestantes = 'Queden encara %s dies per finalitzar l\'any' % (dias)
    elif 100>dias>1:
        dRestantes = 'Queden només %s dies per finalitzar l\'any' % (dias)
    elif dias == 1:
        dRestantes = 'Queda només un día per finalitzar l\'any'

    ##Convierte la lista a una tupla para poder tratarlo en el mensaje final.
    lDatos = tuple(lDatos)

    print "Ara mateix són %s hores, %s i %s. Som a %s, %s %s de %s." % (lDatos) + dRestantes    

    time.sleep(20)
